Iterative soft interference cancellation and filtering for spectrally efficient high-speed transmission in MIMO systems

ABSTRACT

Canceling interference in a multi-input multi-output (MIMO) system is accomplished with a plurality of interference cancellers. Each interference canceller outputs an interference-cancelled received version of its corresponding transmitted signal. An estimate of the transmitted signals from all transmitting antennae is used in each interference canceller. Each estimate is multiplied by a channel coefficient matrix, which can be derived from the communication of known pilot symbols, and the resulting products of each estimate and the channel coefficient matrix are subtracted from the received signals, resulting in a corresponding difference. Each corresponding difference may be multiplied by a filter weight vector. The received signal is decoded based upon the resulting products If a predetermined interrupt criteria is not met, then the decoded signal is used in the preparation of the estimate for a subsequent interference cancellation iteration. The method can be iteratively performed until the predetermined interrupt criteria is met.

BACKGROUND OF THE INVENTION

1. Field of Invention

The invention relates to the field of telecommunications and morespecifically to an iterative soft interference canceller (I-SIC) for useon the receiving side of a multi-input multi-output (MIMO)telecommunications system.

2. Description of Related Art

Widespread use of the Internet motivates the design of more reliable,comfortable and efficient communication systems, especially in themobile environment due to its portability and convenience. So-called thethird generation (3G) systems are being introduced to support severalhundred kbps data services in addition to high quality voice messagetransmissions, and its upgraded version, high-speed downlink packetaccess (HSDPA), is also under discussion and standardization at thethird generation partnership project (3GPP) to offer higher bit rateservices. However, achievable bit rate is still limited up to 10 Mbpseven when HSDPA utilizes automatic repeat request (ARQ) and adaptivemodulation and coding scheme (AMCS). However, user demand for data raterequires approximately 100 Mbps to enjoy streaming video, high-speedInternet connection and so forth, even in a mobile situation.

One known strategy to realize high-speed transmission in the physicallayer is the expansion of bandwidth. Atarashi, et al., proposed variablespreading factor orthogonal frequency and code division multiplexing(VSF-OFCDM) which assumes 130 MHz bandwidth to achieve 100 Mbps inoutdoor environments. However, this approach requires very high speeddigital-to-analog and analog-to-digital converter due to its very highsampling rate. Hence, the power consumption, especially in the userequipment, would become a problem. Another problem is that such a widebandwidth induces excessive multi-path delay, which makes such asuitable receiver difficult to design and operate.

An alternative approach to increasing the spectral efficiency is toadopt higher-order modulation schemes. In fact, IEEE 802.11a employs64QAM to realize 54 Mbps with 20 MHz bandwidth for indoor wireless localarea network (LAN) systems. However, when we consider application ofthis scheme in the mobile environment, 64QAM would be no longerefficient because it is less tolerant to interference than QPSK.Moreover, greatly increased transmission power would be required tocompensate for its poor error rate performance.

On the other hand, spatial multiplexing techniques, for example, theso-called multi-input multi-output (MIMO) system, have gained muchattention recently. Information theory results indicate that thecapacity of a MIMO system increases linearly with the minimum of thenumber of transmit antennas and the receive antennas. In MIMO systems,the most serious problem would be interference from other transmitantennas. Foschini, et al., proposed the Bell Laboratories LayeredSpace-Time (BLAST) architecture to achieve high-speed wirelesstransmission and the corresponding detection algorithms that employinterference cancellation and suppression. However, this scheme wouldnot be efficient when combined with error correction coding sinceprocessing in the detector and the decoder are separately performed. Onthe other hand, although the maximum a posteriori (MAP) algorithm isknown as optimum when jointly operated for detector and decoder, thecomputational complexity becomes prohibitive.

BRIEF SUMMARY OF THE INVENTION

Therefore, to address this and other problems in the prior art, thepresent invention discloses low complexity iterative soft interferencecanceller (SIC) followed by filtering to realize spectrally efficienttransmission in turbo coded MIMO systems. In this algorithm, softinformation is exchanged between the demodulator and the decoder in aturbo fashion to successively cancel and suppress interference fromother antennas and recover the information symbols. Filtering can beeither according to a minimum mean square error (MMSE) algorithm, ormatched filtering (MF) instead of MMSE filtering for complexityreduction, or some combination thereof.

In one embodiment, the invention includes providing a received signalfrom each of plural receiving antennae to each of a plurality ofinterference cancellers, at least one interference cancellercorresponding to each said transmitted signal, each interferencecanceller canceling interference against its corresponding transmittedsignal. Interference is cancelled by comparison of the received signalswith an estimate of the transmitted signal, and cancellation of all butthe corresponding transmitted signal in each interference canceller.

In a further embodiment, the invention includes preparing an estimate ofthe transmitted signals from all transmitting antennae for use in eachinterference canceller, multiplying each estimate by a channelcoefficient matrix, which can be derived from the communication of knownpilot symbols, subtracting the resulting products of each estimate andthe channel coefficient matrix from the received signals, resulting in acorresponding difference between each of the products and each of thereceived signals. Each corresponding difference may be multiplied by afilter weight vector, selectively chosen from a MMSE of MF scheme ineach iteration. The received signal is decoded based upon the resultingproducts of said difference and said filter weight vector. If apredetermined interrupt criteria is not met, then the decoded signal isused in the preparation of the estimate for a subsequent interferencecancellation iteration. The method can be iteratively performed untilthe predetermined interrupt criteria is met.

The invention includes both the methods of canceling described herein,as well as apparatus to implement the methods. Among these apparatus areinterference cancellers, and receivers operative to cancel interferencein accordance with the present invention.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features, benefits and advantages of the presentinvention will become apparent through the following specification andappended claims, and the accompanying figures, where like referencenumerals refer to like features across the several views, and where:

FIG. 1 shows a transmitter according to one embodiment of the presentinvention;

FIG. 2 shows an exemplary embodiment of the Iterative Soft InterferenceCanceling (I-SIC) receiver according to the present, invention;

FIG. 3 shows the configuration of a single Soft Interference Canceller(SIC) in some additional detail;

FIG. 4 shows the simulated FER performances of a2-transmitter/2-reciever MIMO system in accordance with an embodiment ofthe present invention; and

FIG. 5 shows the simulated FER performances of a4-transmitter/4-reciever MIMO system in accordance with yet anotherembodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 shows the configuration of the transmitter, generally 10. Theinput data bit stream 12 is first encoded by a turbo encoder 14, and fedto a modulator 16 to generate complex baseband symbols 18. In thisembodiment, QPSK modulation with Gray mapping is employed. However,those skilled in the art will recognize that the following descriptionsare easily expanded to other modulation schemes. The QPSK symbols arerandomly interleaved by a symbol interleaver 20, and serial-to-parallel(S/P) converted in S/P converter 22. The interleaver 20 is necessary torandomize both the channel and the interference seen by receiver. TheS/P-converted n_(T) symbol streams are simultaneously transmitted fromn_(T) antennae 24 sharing the same frequency band. When OrthogonalFrequency Division Multiplexing (OFDM) and/or spread spectrum isemployed, Inverse Fast-Fourier Transform (IFFT) 26 and/or spreading areapplied to each symbol stream after S/P converter 22. Optionally, guardintervals may also be inserted by appropriate means 28, in a mannerknown in the art.

FIG. 2 shows an exemplary embodiment of the Iterative Soft InterferenceCanceling (I-SIC) receiver, generally 30, according to the presentinvention. Signals are received at each of n_(R) antennae 32. Guardintervals are removed from each received stream by appropriate means 34,and a FFT 36 is performed, as necessary. Next, interfering symbols areremoved by n_(T) parallel SICs 38 using a soft estimate from soft symbolestimator 40. The estimate will be zero in a first iteration, andafterward is obtained from a previous step. Then, interference cancelledsymbols are fed to log likelihood ratio (LLR) calculator 46 throughparallel-to-serial (P/S) converter 42 and de-interleaver 44. In the LLRcalculator 46, LLR of all code bits are computed based on the SIC 38outputs, symbol constellations and turbo decoder 48 output.Subsequently, only extrinsic information, described further infra,computed in the LLR calculator 46 is iteratively fed to turbo decoder 48for decoding.

Generally, in a non-iterative receiver, turbo decoder 48 outputs the LLRof the information bit and makes decisions to recover data streams.However, in the iterative receiver according to the present invention,the LLR is necessary for code bit to make soft estimates of transmittedsymbols except for the last iteration. Also, extrinsic informationshould be fed back to LLR calculator. Thus, the turbo decoder isslightly modified to do so, and the produced LLR of code bits is thenfed to the soft symbol estimator 40. In an exemplary embodiment of theinvention, the turbo decoder 48 utilizes the Max-Log-MAP algorithm.Below, the operation of the SIC 38, LLR calculator 46 and soft symbolestimator 40 are described in more detail.

FIG. 3 shows the configuration of the k-th SIC 38. What follows willfocus on a particular symbol instant. The received signal can be writtenasy=Hx+n  (Eq. 1)where y, H, x, and n are the received signal vector, the channelcoefficient matrix, the transmitted symbol vector and the ambientGaussian noise vector, respectively, and are given by

$\begin{matrix}{{y = \left( {y_{1},y_{2},{\ldots\mspace{11mu} y_{n_{R}}}} \right)^{T}},} & {{H = \begin{pmatrix}h_{11} & h_{12} & \cdots & h_{1n_{T}} \\h_{21} & ⋰ & \; & \vdots \\\vdots & \; & ⋰ & \vdots \\h_{n_{R}1} & \cdots & \cdots & h_{n_{R}n_{T}}\end{pmatrix}},}\end{matrix}$x=(x ₁ ,x ₂ , . . . x _(n) _(R) )^(T), and n=(n ₁ ,n ₂ , . . . n _(n)_(R) )^(T).

The objective of the k-th SIC 38 is cancellation of the interferingsignals against the k-th transmitted symbol stream. To accomplish this,the estimated symbols from previous iterations are used as replica ofthe transmitted symbols and to cancel all but the k-th signal from thereceived signals.

In the soft estimate of the transmitted signal, the k-th symbol isreplaced by zero (0) as shown in the lower part of FIG. 4. The channelmatrix is multiplied with the soft symbol vector at each ofmultiplication junctions 50, and subtracting it from the receivedsignals at each of several summing junctions 52, we obtainy _(k) =y−H{tilde over (x)} _(k) , k=1,2, . . . n _(T)  (Eq. 2)where, y_(k) and {tilde over (x)}_(k) denote the interference cancelledreceived signal vector and the soft estimate of x_(k) for the k-thstream, respectively, and given by y_(k)=(y_(k.1),y_(k.2), . . . y_(k.n)_(R) )^(T) and {tilde over (x)}_(k)=({tilde over (x)}₁,{tilde over(x)}₂, . . . {tilde over (x)}_(k−1),0,{tilde over (x)}_(k+1), . . .{tilde over (x)}_(n) _(T) )^(T). The calculation of {tilde over (x)}_(k)is specified infra.

Before yielding an output for a given iteration in each SIC, n_(R)parallel streams are filtered using filter weights determined by afilter weight calculator 54. In this case, since y_(k) contains residualinterference, especially at the beginnings of iterative processing, wewill apply the Minimum Mean Square Estimator (MMSE) filtering tominimize the squared error of the filtered output. It will beappreciated by those skilled in the art that a Matched Filter (MF)technique may also be appropriate, taking into account relative gains orlosses in both effectiveness and processing efficiency.

Minimizing the mean square error with ideal output, the weight vector ofMMSE filtering is defined byw _(k)=argmin E{|w ^(H) y _(k) −x _(k)|²}  (Eq. 3)In this case, w_(k) is given by S. Haykin, “Adaptive Filter Theory”(Prentice Hall, 1996)w _(k) =R ⁻¹ p  (Eq. 4)where, R and p corresponds to correlation matrix of received symbolsvector and correlation vector between received symbols vector anddesired output respectively. Then, R can be given as

$\begin{matrix}\begin{matrix}{R = {E\left\lbrack {y_{k}y_{k}^{H}} \right\rbrack}} \\{= {E\left\lbrack {\left\{ {{H\left( {x - {\overset{\sim}{x}}_{k}} \right)} + n} \right\}\left\{ {{H\left( {x - {\overset{\sim}{x}}_{k}} \right)} + n} \right\}^{H}} \right\rbrack}} \\{= {E\left\lbrack {{{H\left( {x - {\overset{\sim}{x}}_{k}} \right)}\left( {x - {\overset{\sim}{x}}_{k}} \right)^{H}H^{H}} +} \right.}} \\\left. {{H\left( {x - {\overset{\sim}{x}}_{k}} \right)n^{H}} + {{n\left( {x - {\overset{\sim}{x}}_{k}} \right)}^{H}H^{H}} + {n\; n^{H}}} \right\rbrack \\{= {{{{HE}\left\lbrack {\left( {x - {\overset{\sim}{x}}_{k}} \right)\left( {x - {\overset{\sim}{x}}_{k}} \right)^{H}} \right\rbrack}H^{H}} + {{E\left\lbrack {n\; n^{H}} \right\rbrack}.}}}\end{matrix} & \left( {{Eq}.\mspace{14mu} 5} \right)\end{matrix}$

Although E[(x−{tilde over (x)}_(k))(x−{tilde over (x)}_(k))^(H)] matchesthe covariance matrix of x, because each element in (x−{tilde over(x)}_(k)) is independent, the covariance matrix becomes diagonal. Allelements except for k-th is computed by

$\begin{matrix}\begin{matrix}{\left( V_{k} \right)_{i} = {E\left\lbrack {\left( {x_{i} - {\overset{\sim}{x}}_{i}} \right)\left( {x_{i} - {\overset{\sim}{x}}_{i}} \right)^{*}} \right\rbrack}} \\{= {{E\left\lbrack {x_{i}}^{2} \right\rbrack} - {E\left\lbrack {{\overset{\sim}{x}}_{i}}^{2} \right\rbrack}}} \\{{= {1 - {{\overset{\sim}{x}}_{i}}^{2}}},}\end{matrix} & \left( {{Eq}.\mspace{14mu} 6} \right)\end{matrix}$while (V_(k))_(i) becomes 1 for i=k. The second term also becomesdiagonal with its element of σ². Thus, (Eq. 5) becomesR=HV _(k) H ^(H)+σ² I _(n) _(R)   (Eq. 7)where σ² is the variance of Gaussian noise.

On the other hand, p is computed as

$\begin{matrix}\begin{matrix}{P = {E\left\lbrack {y_{k}x_{k}^{*}} \right\rbrack}} \\{= {E\left\lbrack {\left\{ {{H\left( {x - {\overset{\sim}{x}}_{k}} \right)} + n} \right\} x_{k}^{*}} \right\rbrack}} \\{= {{HE}\left\lbrack {\left( {x - {\overset{\sim}{x}}_{k}} \right)x_{k}^{*}} \right\rbrack}} \\{= {h_{k}.}}\end{matrix} & \left( {{Eq}.\mspace{14mu} 8} \right)\end{matrix}$

Therefore, solving for Eq. 3, the weight vector based on MMSE criteriacan be given byw _(k)=(HV _(k) H ^(H)+σ² I _(n) _(R) )⁻¹ h _(k)  (Eq. 9)

Finally, the filter output from the k-th stream isz _(k) =w _(k) ^(H) y _(k)  (Eq. 10)The filter output z_(k) would again be considered of the formz_(k)=μ_(k)x_(k)+ν_(k), where μ_(k) and ν_(k) denotes the equivalentfading coefficient and the noise, respectively. From the abovederivations, we haveμ_(k) =w _(k) ^(H) h _(k)  (Eq. 11)

On the other hand, the variance of ν_(k), defined as r_(k) ² here, isformed as

$\begin{matrix}\begin{matrix}{r_{k}^{2} \equiv {{Var}.\left( \upsilon_{k} \right)}} \\{= {{E\left\lbrack \upsilon_{k}^{2} \right\rbrack} - {E\left\lbrack \upsilon_{k} \right\rbrack}^{2}}} \\{= {E\left\lbrack {{z_{k} - {\mu_{k}x_{k}}}}^{2} \right\rbrack}} \\{= {{E\left\lbrack {z_{k}}^{2} \right\rbrack} + {E\left\lbrack {{\mu_{k}x_{k}}}^{2} \right\rbrack} - {E\left\lbrack {z_{k}\mu_{k}^{*}x_{k}^{*}} \right\rbrack} - {{E\left\lbrack {z_{k}^{*}\mu_{k}x_{k}} \right\rbrack}.}}}\end{matrix} & \left( {{Eq}.\mspace{14mu} 12} \right)\end{matrix}$Each term in (Eq. 12) is computed as follows

$\begin{matrix}\begin{matrix}{{E\left\lbrack {z_{k}}^{2} \right\rbrack}\mspace{31mu} = {E\left\lbrack {\left( {w_{k}^{H}y_{k}} \right)\left( {w_{k}^{H}y_{k}} \right)^{*}} \right\rbrack}} \\{\mspace{110mu}{= {w_{k}^{H}\;{E\left\lbrack {y_{k}y_{k}^{H}} \right\rbrack}w_{k}}}} \\{\mspace{110mu}{= {{w_{k}^{H}\left( {{H\; V_{k}H^{H}} + {\sigma^{2}I_{n_{R}}}} \right)}w_{k}}}} \\{\mspace{110mu}{= {w_{k}^{H}h_{k}}}} \\{\mspace{110mu}{= \mu_{k}}} \\{{E\left\lbrack {{\mu_{k}x_{k}}}^{2} \right\rbrack}\; = \mu_{k}^{2}} \\{{E\left\lbrack {z_{k}\mu_{k}^{*}x_{k}^{*}} \right\rbrack}\; = {\mu_{k}^{*}x_{k}^{*}{E\left\lbrack z_{k} \right\rbrack}}} \\{\mspace{110mu}{= {\mu_{k}^{*}x_{k}^{*}\mu_{k}x_{k}}}} \\{\mspace{110mu}{= \mu_{k}^{2}}} \\{{E\left\lbrack {z_{k}^{*}\mu_{k}x_{k}} \right\rbrack}\; = {{E\left\lbrack z_{k}^{*} \right\rbrack}\mu_{k}x_{k}}} \\{\mspace{110mu}{= {\mu_{k}^{*}x_{k}^{*}\mu_{k}x_{k}}}} \\{\mspace{110mu}{= {\mu_{k}^{2}.}}}\end{matrix} & \left( {{Eq}.\mspace{14mu} 13} \right)\end{matrix}$Therefore, we obtainr _(k) ²≡Var.(ν_(k))=μ_(k)−μ_(k)  (Eq. 14)

As shown in Eq. (9), the MMSE filtering involves the matrix inversion ofan n_(R)×n_(R) matrix. Accordingly, it sometimes causes computationalproblems, especially in the case of large number of receive antennas.Therefore, we will also propose a matched-filtering scheme, where theweight w_(k) is simply taken as the channel vector, i.e., w_(k)=h_(k).

Then the corresponding equivalent fading coefficient and noise variancecan be computed asμ_(k) =h _(k) ^(H) h _(k)  (Eq. 15)

$\begin{matrix}\begin{matrix}{r_{k}^{2} \equiv {{Var}.\left( \upsilon_{k} \right)}} \\{= {E\left\lbrack {{z_{k} - {\mu_{k}x_{k}}}}^{2} \right\rbrack}} \\{= {{E\left\lbrack {z_{k}}^{2} \right\rbrack} - \mu_{k}^{2}}} \\{= {{{w_{k}^{H}\left( {{{HV}_{k}H^{H}} + {\sigma^{2}I_{n_{R}}}} \right)}w_{k}} - \mu_{k}^{2}}} \\{= {{{h_{k}^{H}\left( {{{HV}_{k}H^{H}} + {\sigma^{2}I_{n_{R}}}} \right)}h_{k}} - \mu_{k}^{2}}} \\{= {{h_{k}^{H}{HV}_{k}H^{H}h_{k}} + {\sigma^{2}h_{k}^{H}h_{k}} - \mu_{k}^{2}}} \\{= {{\sum\limits_{j = 1}^{n_{T}}{\left( V_{k} \right)_{j}{{h_{k}^{H}h_{j}}}^{2}}} + {\sigma^{2}\mu_{k}} - {\mu_{k}^{2}.}}}\end{matrix} & \left( {{Eq}.\mspace{14mu} 16} \right)\end{matrix}$

The interference canceller according to the present invention is notlimited to any one filtering method. For example, the method ofcomputing the filter weights can be adaptively chosen for eachiteration, according to one of several criteria, including a minimumSNR, SNIR, BER, FER, BLER, LLR. The filtering method may be chosenaccording to the number of iterations performed, with more effective yetcomplex methods chosen earlier in the process, or simpler methods may beapplied earlier in the process, with more complex methods applied if itis determined that the complexity is necessary to achieve a suitableresult. Alternately, the filtering method may be chosen based upon thenumber of transmit or receive antennae, on the consideration that thecomplexity increases exponentially with number of receive antennae.

Although a MF scheme can maximize the combined SNR, the corruption byinterfering symbols would be dominant, especially in the, beginning ofthe iteration, since no interference is cancelled yet. MMSE filteringcan be applied to maximize combined SNIR. However, MMSE filteringcomplexity will sometimes,become prohibitive, as highlighted above.Therefore, in a preferred embodiment, we apply the MMSE filtering onlyin the first processing, to sufficiently suppress interference from theother antennas. Subsequently, a MF scheme is applied to achieve reducedcomplexity. Although SIC-MF causes performance degradations, by applyingMMSE filtering only in the first iteration, the hybrid scheme canachieve almost the same performance with MMSE-based I-SIC underfrequency flat and selective conditions. Therefore, computationalcomplexity will be reduced compared to the SIC-MMSE.

The LLR is defined as

$\begin{matrix}{{{\Lambda\left( b_{i} \right)} = {\ln\frac{P\left( {b_{i} = \left. 0 \middle| y_{j} \right.} \right)}{P\left( {b_{i} = \left. 1 \middle| y_{j} \right.} \right)}}},} & \left( {{Eq}.\mspace{14mu} 17} \right)\end{matrix}$where b_(i) is the i-th bit and y_(j) is the received signal containingb_(i), respectively. Assuming QPSK encoding, Eq. (17) can be written as

$\begin{matrix}{{{\Lambda\left( b_{2l} \right)} = {\ln\frac{P\left( {b_{2l} = \left. 0 \middle| z_{l} \right.} \right)}{P\left( {b_{2l} = \left. 1 \middle| z_{l} \right.} \right)}}},} & \left( {{Eq}.\mspace{14mu} 18} \right) \\{{{\Lambda\left( b_{{2l} + 1} \right)} = {\ln\frac{P\left( {b_{{2l} + 1} = \left. 0 \middle| z_{l} \right.} \right)}{P\left( {b_{{2l} + 1} = \left. 1 \middle| z_{l} \right.} \right)}}},} & \left( {{Eq}.\mspace{14mu} 19} \right)\end{matrix}$where l corresponds the l-th received symbol after P/S conversion.Because Λ(b_(2l)) and Λ(b_(2l+1)) are computed in a similar manner, wewill only concentrate on Λ(b_(2l)) in the following.

According to the Bayes' rule, Eq. (18) can be written as

$\begin{matrix}{{\Lambda\left( b_{2l} \right)} = {{\ln\frac{P\left( {\left. z_{l} \middle| b_{2l} \right. = 0} \right)}{P\left( {\left. z_{l} \middle| b_{2l} \right. = 1} \right)}} + {\ln\frac{P\left( {b_{2l} = 0} \right)}{P\left( {b_{2l} = 1} \right)}}}} & \left( {{Eq}.\mspace{14mu} 20} \right)\end{matrix}$The first term is the so-called extrinsic information calculated by thereceived symbol and the signal constellation and the second term is thea priori probability ratio given by the previous turbo decoderprocessing. At this time, only extrinsic information should betransferred to the subsequent turbo decoder.

Let λ₁(b_(2l)) be the extrinsic information of b_(2l). Then we have

$\begin{matrix}\begin{matrix}{{\lambda_{1}\left( b_{2l} \right)} = {\ln\frac{\;{{P\left( {{{z_{2l}❘b_{2l}} = 0},{b_{{2l} + 1} = 0}} \right){P\left( {b_{{2l} + 1} = 0} \right)}} + {{P\left( {{{z_{2l}❘b_{2l}} = 0},{b_{{2l} + 1} = 1}} \right)}{P\left( {b_{{2l} + 1} = 1} \right)}}}}{\;{{P\left( {{{z_{2l}❘b_{2l}} = 1},{b_{{2l} + 1} = 0}} \right){P\left( {b_{{2l} + 1} = 0} \right)}} + {{P\left( {{{z_{2l}❘b_{2l}} = 1},{b_{{2l} + 1} = 1}} \right)}{P\left( {b_{{2l} + 1} = 1} \right)}}}}}} \\{= {\ln\;\frac{{P\left( {z_{2l}❘C_{0}} \right){P\left( {b_{{2l} + 1} = 0} \right)}} + {{P\left( {z_{2l}❘C_{1}} \right)}{P\left( {b_{{2l} + 1} = 1} \right)}}}{{P\left( {z_{2l}❘C_{2}} \right){P\left( {b_{{2l} + 1} = 0} \right)}} + {{P\left( {z_{2l}❘C_{3}} \right)}{P\left( {b_{{2l} + 1} = 1} \right)}}}}} \\{= {\ln\;\frac{{P\left( {z_{2l}❘C_{0}} \right){{P\left( {b_{{2l} + 1} = 0} \right)}/{P\left( {b_{{2l} + 1} = 1} \right)}}} + {P\left( {z_{2l}❘C_{1}} \right)}}{{P\left( {z_{2l}❘C_{2}} \right){{P\left( {b_{{2l} + 1} = 0} \right)}/{P\left( {b_{{2l} + 1} = 1} \right)}}} + {P\left( {z_{2l}❘C_{3}} \right)}}}}\end{matrix} & \left( {{Eq}.\mspace{14mu} 21} \right)\end{matrix}$Based on QPSK encoded, Gray mapped signal constellations,P(z_(2l)|C_(i)) can be computed as

$\begin{matrix}{{P\left( {z_{2l}❘C_{i}} \right)} = {\frac{1}{\pi\;\upsilon_{2l}^{2}}{\exp\left( {{- \frac{1}{\upsilon_{2l}^{2}}}{{z_{2l} - {\mu_{2l}C_{i}}}}^{2}} \right)}}} & \left( {{Eq}.\mspace{14mu} 22} \right)\end{matrix}$

On the other hand, extrinsic information from channeldecoder,:corresponds to the a priori probability and given by

$\begin{matrix}{{\ln\;\frac{P\left( {b_{i} = 0} \right)}{P\left( {b_{i} = 1} \right)}} = {{\lambda_{2}\left( b_{i} \right)}.}} & \left( {{Eq}.\mspace{14mu} 23} \right)\end{matrix}$Then, likelihood can be denoted as

$\begin{matrix}{\frac{P\left( {b_{i} = 0} \right)}{P\left( {b_{i} = 1} \right)} = {\exp\left\lbrack {\lambda_{2}\left( b_{i} \right)} \right\rbrack}} & \left( {{Eq}.\mspace{14mu} 24} \right)\end{matrix}$Therefore, by introducing approximation of ln(e^(x)+e^(y))≈max(x,y), Eq.(21) becomes

$\begin{matrix}\begin{matrix}{{\lambda_{1}\left( b_{2l} \right)} = {\ln\;\frac{{\frac{1}{\pi\;\upsilon_{2l}^{2}}\exp{\left( {{- \frac{1}{\upsilon_{2l}^{2}}}{{z_{2l} - {\mu_{2l}C_{0}}}}^{2}} \right) \cdot {\exp\left\lbrack {\lambda_{2}\left( b_{{2l} + 1} \right)} \right\rbrack}}} + {\frac{1}{\pi\;\upsilon_{2l}^{2}}{\exp\left( {{- \frac{1}{\upsilon_{2l}^{2}}}{{z_{2l} - {\mu_{2l}C_{1}}}}^{2}} \right)}}}{{\frac{1}{\pi\;\upsilon_{2l}^{2}}{{\exp\left( {{- \frac{1}{\upsilon_{2l}^{2}}}{{z_{2l} - {\mu_{2l}C_{2}}}}^{2}} \right)} \cdot {\exp\left\lbrack {\lambda_{2}\left( b_{{2l} + 1} \right)} \right\rbrack}}} + {\frac{1}{\pi\;\upsilon_{2l}^{2}}{\exp\left( {{- \frac{1}{\upsilon_{2l}^{2}}}{{z_{2l} - {\mu_{2l}C_{3}}}}^{2}} \right)}}}}} \\{= {{\max\left\{ {{{{- \frac{1}{\upsilon_{2l}^{2}}}{{z_{2l} - {\mu_{2l}C_{0}}}}^{2}} + {\lambda_{2}\left( b_{{2l} + 1} \right)}},{{- \frac{1}{\upsilon_{2l}^{2}}}{{z_{2l} - {\mu_{2l}C_{1}}}}^{2}}} \right\}} -}} \\{\max\left\{ {{{{- \frac{1}{\upsilon_{2l}^{2}}}{{z_{2l} - {\mu_{2l}C_{2}}}}^{2}} + {\lambda_{2}\left( b_{{2l} + 1} \right)}},{{- \frac{1}{\upsilon_{2l}^{2}}}{{z_{2l} - {\mu_{2l}C_{3}}}}^{2}}} \right\}} \\{= {{\max\left\{ {{{2{{Re}\left\lbrack \frac{z_{2l}^{*}\mu_{2l}C_{0}}{\upsilon_{2l}^{2}} \right\rbrack}} + {\lambda_{2}\left( b_{{2l} + 1} \right)}},{2{{Re}\left\lbrack \frac{z_{2l}^{*}\mu_{2l}C_{1}}{\upsilon_{2l}^{2}} \right\rbrack}}} \right\}} -}} \\{\max\left\{ {{{2{{Re}\left\lbrack \frac{z_{2l}^{*}\mu_{2l}C_{2}}{\upsilon_{2l}^{2}} \right\rbrack}} + {\lambda_{2}\left( b_{{2l} + 1} \right)}},{2{{Re}\left\lbrack \frac{z_{2l}^{*}\mu_{2l}C_{3}}{\upsilon_{2l}^{2}} \right\rbrack}}} \right\}}\end{matrix} & \left( {{Eq}.\mspace{14mu} 25} \right)\end{matrix}$where |C_(i)|²=1 is used for the final equality.

Similarly, we can calculate λ₁(b_(2l+1)), which is a function of z_(2l)and λ₂(b_(2l)). The extrinsic information computed for all code bitsincluding tail sequence is then fed to Turbo decoder and Turbo decodercalculates again LLR and the extrinsic information of all code bitsbased on the its trellis diagram and the extrinsic information derivedabove.

By using LLR produced by Turbo decoder, soft estimate generator 40creates soft replica symbols. This function weighs all the candidate ofsymbol constellation and combines as{tilde over (x)} _(l) =C ₀ P _(2l) ⁰ P _(2l+1) ⁰ +C ₁ P _(2l) ⁰ P_(2l+1) ¹ +C ₂ P _(2l) ¹ P _(2l+1) ⁰ +C ₃ P _(2l) ¹ P _(2l+1) ¹  (Eq.26)where P_(l) ⁰ and P_(l) ¹ are a posteriori probability of 0 and 1 forl-th code bit and these are computed as

$\begin{matrix}{{P_{l}^{0} = {{{Prob}.\left( {b_{l} = 0} \right)} = \frac{\exp\left\lbrack {\Lambda\left( b_{l} \right)} \right\rbrack}{1 + {\exp\left\lbrack {\Lambda\left( b_{l} \right)} \right\rbrack}}}},} & \left( {{Eq}.\mspace{14mu} 27} \right) \\{P_{l}^{1} = {{{Prob}.\left( {b_{l} = 1} \right)} = {\frac{\exp\left\lbrack {- {\Lambda\left( b_{l} \right)}} \right\rbrack}{1 + {\exp\left\lbrack {- {\Lambda\left( b_{l} \right)}} \right\rbrack}}.}}} & \left( {{Eq}.\mspace{14mu} 28} \right)\end{matrix}$This soft estimate is utilized by SIC 38 in a subsequent iteration.

Considering realistic operation of MIMO systems, one first must estimatea channel coefficient at the receiver. One method known in the art isthe utilization of pilot symbols. In the case that N_(p) pilot symbolsare employed from each transmit antenna, received symbols sequencebecomesy(t)=Hs(t)+v(t), 1≦t≦N _(p)  (Eq. 29)

By placing N_(p) column vectors in a matrix, we can obtainY=HS+V  (Eq. 30)where Y=(y(1),y(2), . . . y(N_(p))), S=(s(1),s(2), . . . s(N_(p))),V=(v(1),v(2), . . . ,v(N_(p))). The technique presumes that N_(p) islarger than n_(T). It is reasonable to assume the power of pilot symbolsas 1 so

$\begin{matrix}{{\sum\limits_{i = 1}^{n_{T}}{\sum\limits_{j = 1}^{N_{p}}{s_{ij}}^{2}}} = {N_{p}{n_{T}.}}} & \left( {{Eq}.\mspace{14mu} 31} \right)\end{matrix}$

Multiplying a pseudo inverse matrix of s to Y from the right side,channel estimate would be given asĤ=YS ⁺  (Eq. 32)

Since N_(p) is larger than n_(T), the pseudo inverse matrix of s becomesS^(H)(SS^(H))⁻¹. Thus, (Eq. 32) can be re-arranged as

$\begin{matrix}\begin{matrix}{\hat{H} = {Y\;{S^{H}\left( {S\; S^{H}} \right)}^{- 1}}} \\{= {\left( {{H\; S} + V} \right){S^{H}\left( {S\; S^{H}} \right)}^{- 1}}} \\{= {H + {V\;{S^{H}\left( {S\; S^{H}} \right)}^{- 1}}}} \\{= {H + {H^{ɛ}.}}}\end{matrix} & \left( {{Eq}.\mspace{14mu} 33} \right)\end{matrix}$

To minimize estimation error, S should be chosen such that totalvariance of H^(ε) can be as small as possible. It is shown in Marzetta,“BLAST Training: Estimating Channel Characteristics For High-CapacitySpace-Time Wireless”, Proc. 37th Annual Allerton Conference onCommunications, Computing and Control, Monticello, Ill. (September1999), that the optimal training sequence should satisfySS ^(H) =N _(p) I _(n) _(T)   (Eq. 34)

FIGS. 4 and 5 show the simulated FER performances of MF, MMSE and Hybridschemes with 4-iterations under flat and exponentially distributed12-path conditions. Ideal GI deletion and channel estimation are assumedhere. From FIG. 4, performances of the SIC-Hybrid scheme is exactly thesame with that of SIC-MMSE under both frequency flat and selectiveconditions, while that of 4 antennas is slightly degraded as shown inFIG. 5. The outage capacity, which can be considered as frame errorrate, of (2×2) and (4×4) is respectively 6 dB at 4% and 3 dB at 7% underflat fading condition. Therefore, we can conclude that the SIC-Hybridand SIC-MMSE can approach to 2.8 and 2.5 dB, respectively, in (2×2) and(4×4) systems. Since we only employed OFDM modulations, even in the caseof frequency selective conditions, we can achieve good performances asshown.

To implement the present invention, any number of apparatus will bereadily apparent to those skilled in the art in light of the instantdisclosure. For example, the interference cancellation may beimplemented by hardware means, including dedicated circuitry or ASICs,either modular or integral. Alternately the invention may be implementedthrough software, suitably interfaced with wireless transmission and/orreceiving equipment. Some combination of software and hardwareimplementation may prove optimal from either a performance ormanufacturing viewpoint, without departing from the scope of theinvention. A receiver including the soft interference cancelleraccording to the present invention may include a wireless telephonehandset, an internet-capable device, or any other wireless communicationequipment.

The present invention has been described herein with respect, to certainpreferred embodiments. These embodiments are means to be illustrative,not limiting, of the scope of the invention. Modifications oralterations may be apparent to those skilled in the art withoutdeparting from the scope of the invention, which is defined by theappended claims.

1. An apparatus for canceling interference among multiple signalssimultaneously transmitted from multiple transmitting antennae andreceived by multiple receiving antennae, the apparatus comprising aplurality of interference cancellers, at least one interferencecanceller corresponding to each transmitted signal, each interferencecanceller receiving a signal from each receiving antenna, and eachinterference canceller iteratively outputting an interference-cancelledreceived version of its corresponding transmitted signal, eachinterference canceller comprises a filter weight calculator adapted forselectively choosing for each iteration a calculation method, and forcalculating the filter weight for each iteration using the selectedmethod, wherein the calculation method from a choice of at least twomethods, the method being selected based upon a number of transmittingand receiving antennae.
 2. The apparatus for canceling interferenceaccording to claim 1 further comprising a soft symbol estimator forpreparing an estimate of the received symbols from all transmittingantennae for use in each interference canceller.
 3. The apparatus forcanceling interference according to claim 2, wherein each interferencecanceller iteratively cancels interference against its correspondingtransmitting signal until an interrupt criteria is met.
 4. The apparatusfor canceling interference according to claim 2, wherein each estimateincludes a zero term for the transmitted signal corresponding to eachinterference canceller.
 5. A multi-input multi-output wirelesscommunication receiver comprising the interference canceling apparatusaccording to claim
 1. 6. The wireless communication receiver accordingto claim 5, further comprising a parallel-to-serial converter forconverting the plural interference canceller outputs into a serialstream.
 7. The wireless communication receiver according to claim 5,further comprising a decoder for recovering a data stream based upon theplural interference canceller outputs.
 8. A method of cancelinginterference among multiple signals simultaneously transmitted frommultiple transmitting antennae and received by multiple receivingantennae, the method comprising: (a) providing a received signal fromeach receiving antenna to each of a plurality of interferencecancellers, at least one interference canceller corresponding to eachsaid transmitted signal, each interference canceller cancelinginterference against its corresponding transmitted signal; (b) cancelinginterference by comparison of the received signals with an estimate ofthe transmitted signal and cancellation of all but the correspondingtransmitted signal in each interference canceller; (c) multiplying eachestimate by a channel coefficient matrix; (d) subtracting the productsof each estimate and the channel coefficient matrix from the receivedsignals, resulting in a corresponding difference between each of theproducts and each of the received signals; and (e) multiplying thecorresponding difference between each of the products and each of thereceived signals by a filter weight vector, a calculation method forcalculating the filter weight vector is selectively chosen from at leasttwo methods, the method being selected based upon at a SNR and a loglikelihood ratio.
 9. The method according to claim 8, wherein eachestimate prepared in step (b) includes a zero term for the transmittedsignal corresponding to each interference canceller.
 10. The method ofcanceling interference according to claim 8, wherein the channelcoefficient matrix is derived from the receipt of a known pilot signal.11. The method of canceling interference according to claim 8, furthercomprising iteratively performing steps (b)-(e) until a predeterminedinterrupt criteria is met, and said method of calculating the filterweight vector is selected for each iteration.
 12. A method of conductingmulti-input multi-output wireless communications comprising executingthe interference canceling method of claim 8 on a receiving end.
 13. Amethod of canceling interference among multiple signals simultaneouslytransmitted from multiple transmitting antennae and received by multiplereceiving antennae, the method comprising: (a) providing a receivedsignal from each receiving antenna to each of a plurality ofinterference cancellers, at least one interference cancellercorresponding to each said transmitted signal, and each interferencecanceller dedicated to canceling interference against its correspondingtransmitted signal; (b) preparing an estimate of the transmitted signalsfrom all transmitting antennae for use in each interference canceller,(c) multiplying each estimate by a channel coefficient matrix; (d)subtracting the resulting products of each estimate and the channelcoefficient matrix from the received signals, resulting in acorresponding difference between each of the products and each of thereceived signals; (e) multiplying each corresponding difference by afilter weight vector, a calculation method for calculating the filterweight vector is selectively chosen from at least two methods, themethod of calculating the filter weight vector is a minimum mean squareerror (MMSE) method in a first iteration, and a matched filter (MF)method in any subsequent iterations; (f) decoding the received signalbased upon the resulting products of said difference and said filterweight vector; (g) if a predetermined interrupt criteria is not met,then using said decoded signal in the preparation of an estimate for asubsequent interference cancellation iteration; and (h) iterativelyperforming steps (b)-(g) if the predetermined interrupt criteria is notmet.
 14. The method according to claim 13, wherein each estimateprepared in step (b) includes a zero term for the transmitted signalcorresponding to each interference canceller.
 15. The interferencecanceling method of claim 13 wherein the method of calculating thefilter weight vector used for the first iteration is different from themethod used for successive iterations.
 16. The interference cancelingmethod of claim 13 wherein the selection criteria for the method ofcalculating the filter weight vector used in step (e) is at least one ofa SNR, a SNIR, the number of receive or transmit antennae, a loglikelihood ratio, the number of iterations, and a constellation of theestimate of the transmitted signals.
 17. The interference cancelingmethod of claim 13 wherein the interrupt criteria is at least one of thenumber of erroneous bits, the number of erroneous blocks, the number oferroneous frames, a log likelihood ratio and the number of iterations.18. The interference canceling method of claim 13 wherein the channelcoefficient matrix is derived from the receipt of a known pilot signal.19. A method of conducting multi-input multi-output wirelesscommunications comprising executing the interference canceling method ofclaim 13 on a receiving end.
 20. An apparatus for canceling interferenceamong multiple signals simultaneously transmitted from multipletransmitting antennae and received by multiple receiving antennae, theapparatus comprising: a plurality of interference cancellers, at leastone interference canceller corresponding to each said transmittedsignal, and each interference canceller dedicated to cancel interferenceagainst its respective transmitted signal; soft symbol estimator meansfor preparing an estimate of the transmitted symbols for use in eachinterference canceller, each estimate including a zero term for thetransmitted signal corresponding to each interference canceller; meansfor multiplying each estimate by a channel coefficient matrix; means forsubtracting the resulting products of each estimate and the channelcoefficient matrix from the received signal; means for selecting acalculation method for calculating a filter weight vector from at leasttwo different methods, the method being selected from one of a minimummean square error (MMSE) method and a matched filter (MF) method, andfor calculating the filter weight vector using the selected method;means for multiplying the each difference between said product and thereceived signal by a filter weight vector; and means for decoding thesignal based upon the resulting products of said difference and saidfilter weight vector.
 21. The apparatus for canceling interferenceaccording to claim 20, wherein said soft symbol estimator uses thedecoded signal from a previous iteration for preparing the estimate ofthe transmitted symbols.
 22. The apparatus for canceling interferenceaccording to claim 20, wherein said soft symbol estimator uses theinterference cancelled signal for preparing the estimate of thetransmitted symbols.
 23. A multi-input multi-output wirelesscommunication system comprising a receiver having the interferencecanceling apparatus according to claim 20.